home *** CD-ROM | disk | FTP | other *** search
/ Java for 3D & VRML Worlds / Java for 3d and VRML Worlds.iso / multiuser / planets / main.wrl < prev    next >
Text File  |  1996-09-30  |  10KB  |  400 lines

  1. #VRML V2.0 utf8
  2. # Planets World : Last modified August 8, 1996, for CP Beta 4a
  3. # Concept Design:       Yoshinao Kambe  <yosh@spiw.com>
  4. # Modeling/Behaviors:   Jai Natarajan  <jai@spiw.com>
  5. # Textures:             Randi Munn
  6. #                       Christopher Janney  <chris@spiw.com>
  7. # Pictures courtesy of NASA
  8. # Music by Sony Music
  9. # Acknowledgements:  Bill Owen, JPL
  10.  
  11. # This document and software is Copyright (C) 1996, 
  12. # Sony Pictures Imageworks
  13.  
  14. PROTO Sony_BindSharedNode [
  15.     field SFNode transformNode NULL
  16.     field SFNode scriptNode NULL
  17. ] {}
  18.  
  19. WorldInfo { title "planets world"
  20.             info  "VsServer:spiw.com:7004"
  21. } # connect to multi-user server
  22.  
  23. Background  {
  24.     frontUrl ["textures/stars.jpg"]
  25.     backUrl ["textures/stars.jpg"]
  26.     topUrl ["textures/stars.jpg"]
  27.     bottomUrl ["textures/stars.jpg"]
  28.     leftUrl ["textures/stars.jpg"]
  29.     rightUrl ["textures/stars.jpg"]       
  30. }
  31.  
  32. DEF CAMERA Viewpoint {
  33.    position 0 0 50
  34.    orientation 0 0 1 0
  35.    jump TRUE
  36. }
  37.     
  38. DEF SUN_TRANS Transform {
  39.   translation 0 0 0 
  40.   children [
  41.     DEF SUN_CLICK TouchSensor{}
  42.     Shape {
  43.       appearance Appearance {
  44.       texture ImageTexture { url "textures/sun.gif" }
  45.       }
  46.       geometry Sphere {radius 5}
  47.     }
  48.     DEF MERCURY_ORBIT Inline {url "orbits/mercuryorb.wrl"}
  49.     DEF VENUS_ORBIT Inline {url "orbits/venusorb.wrl"}
  50.     DEF EARTH_ORBIT Inline {url "orbits/earthorb.wrl"}
  51.     DEF MARS_ORBIT Inline {url "orbits/marsorb.wrl"}
  52.     DEF JUPITER_ORBIT Inline {url "orbits/jupiterorb.wrl"}
  53.     DEF SATURN_ORBIT Inline {url "orbits/saturnorb.wrl"}
  54.     DEF URANUS_ORBIT Inline {url "orbits/uranusorb.wrl"}
  55.     DEF NEPTUNE_ORBIT Inline {url "orbits/neptuneorb.wrl"}
  56.     DEF PLUTO_ORBIT Inline {url "orbits/plutoorb.wrl"}
  57.   ]
  58. }  # SUN_TRANS
  59.  
  60.  
  61. DEF MERCURY_TRANS Transform {
  62.   translation 0 0 0
  63.   rotation 0 0 1 0.1
  64.   children [
  65.     DEF MERCURY_CLICK TouchSensor{}
  66.     DEF MERCURY_ROT Transform {
  67.       children [
  68.         Shape {
  69.           appearance Appearance {
  70.             texture ImageTexture { url "textures/mercury.jpg" }
  71.           }
  72.           geometry Sphere {radius 1}
  73.         }
  74.       ]
  75.     } #MERCURY_ROT
  76.   ] # end children
  77. }  #MERCURY_TRANS
  78.  
  79. DEF VENUS_TRANS Transform {
  80.   translation 0 0 0
  81.   rotation 0 0 1 0.1
  82.   children [
  83.     DEF VENUS_CLICK TouchSensor{}
  84.     DEF VENUS_ROT Transform {
  85.       children [
  86.         Shape {
  87.            appearance Appearance {
  88.               texture ImageTexture { url "textures/venus.jpg" }
  89.            }
  90.            geometry Sphere {radius 2}
  91.         }
  92.       ]
  93.     } #VENUS_ROT
  94.   ] # end children
  95. }    # VENUS_TRANS
  96.  
  97. DEF EARTH_TRANS Transform {
  98.   translation 0 0 0
  99.   rotation 0 0 1 0.4  
  100.   children [
  101.     DEF EARTH_CLICK TouchSensor{}
  102.     DEF EARTH_ROT Transform {
  103.       children [
  104.         Shape {
  105.            appearance Appearance {
  106.               texture ImageTexture { url ["textures/earth.gif"] }
  107.            }
  108.            geometry Sphere {radius 2}
  109.         }
  110.       ]
  111.     } #EARTH_ROT
  112.   ] # end children
  113. }  # EARTH_TRANS
  114.  
  115. DEF MARS_TRANS Transform {
  116.   translation 0 0 0
  117.   rotation 0 0 1 0.44
  118.   children [
  119.     DEF MARS_CLICK TouchSensor{}
  120.     DEF MARS_ROT Transform {
  121.       children [
  122.         Shape {
  123.           appearance Appearance {
  124.             texture ImageTexture { url "textures/mars.jpg" }
  125.           }
  126.           geometry Sphere {radius 1.5}
  127.         }
  128.       ]
  129.     } #MARS_ROT
  130.   ] # end children
  131. } # MARS_TRANS
  132.  
  133. DEF COMET_TRANS Transform {
  134.   translation 20 0 20
  135.   rotation 0 1 0 0
  136.   children [
  137.     DEF COMET_CLICK TouchSensor{}
  138.     Inline {url "comet.wrl" }
  139.   ]
  140. } # COMET_TRANS
  141.  
  142. DEF JUPITER_TRANS Transform {
  143.   translation 0 0 0
  144.   rotation 0 0 1 0.1
  145.   children [
  146.     DEF JUPITER_CLICK TouchSensor{}
  147.     DEF JUPITER_ROT Transform {
  148.       children [
  149.         Shape {
  150.           appearance Appearance {
  151.             texture ImageTexture { url ["textures/jupiter.jpg"] }
  152.           }
  153.           geometry Sphere {radius 4}
  154.         }
  155.       ]
  156.     } #JUPITER_ROT
  157.   ] # end children
  158. } # JUPITER_TRANS
  159.  
  160. DEF SATURN_TRANS Transform {
  161.   translation 0 0 0
  162.   rotation 0 0 1 0.44
  163.   children [
  164.     DEF SATURN_CLICK TouchSensor{}
  165.     DEF SATURN_RINGS Shape {
  166.           appearance Appearance {
  167.             material Material {emissiveColor 0.7 0.7 0.7}
  168.             texture ImageTexture { url ["textures/rings.gif"] }
  169.           }
  170.           geometry Cylinder {
  171.             side FALSE
  172.             height 0.2
  173.             radius 7
  174.           }
  175.     }
  176.     DEF SATURN_ROT Transform {
  177.       children [
  178.         Shape {
  179.           appearance Appearance {
  180.             texture ImageTexture { url ["textures/saturn.jpg"] }
  181.           }
  182.           geometry Sphere {radius 4}
  183.         }
  184.       ]
  185.     } #SATURN_ROT
  186.   ] # end children
  187. } # SATURN_TRANS
  188.  
  189. DEF URANUS_TRANS Transform {
  190.   translation 0 0 0
  191.   rotation 0 0 1 1.71
  192.   children [
  193.     DEF URANUS_CLICK TouchSensor{}
  194.     DEF URANUS_ROT Transform {
  195.       children [
  196.         Shape {
  197.           appearance Appearance {
  198.             texture ImageTexture {url "textures/uranus.jpg"}
  199.           }
  200.           geometry Sphere {radius 4}
  201.         }
  202.       ]
  203.     } #URANUS_ROT
  204.   ] # end children
  205. } # URANUS_TRANS
  206.  
  207. DEF NEPTUNE_TRANS Transform {
  208.   translation 0 0 0
  209.   rotation 0 0 1 0.49
  210.   children [
  211.     DEF NEPTUNE_CLICK TouchSensor{}
  212.     DEF NEPTUNE_ROT Transform {
  213.       children [
  214.         Shape {
  215.           appearance Appearance {
  216.             texture ImageTexture {url "textures/neptune.jpg"}
  217.           }
  218.           geometry Sphere {radius 3}
  219.         }
  220.       ]
  221.     } #NEPTUNE_ROT
  222.   ] # end children
  223. } # NEPTUNE_TRANS
  224.  
  225. DEF PLUTO_TRANS Transform {
  226.   translation 0 0 0
  227.   rotation 0 0 1 2.13
  228.   children [
  229.     DEF PLUTO_CLICK TouchSensor{}
  230.     DEF PLUTO_ROT Transform {
  231.       children [
  232.         Shape {
  233.           appearance Appearance {
  234.             texture ImageTexture {url "textures/pluto.jpg"}
  235.           }
  236.           geometry Sphere {radius 4}
  237.         }
  238.       ]
  239.     } #PLUTO_ROT
  240.   ] # end children
  241. } # PLUTO_TRANS
  242.  
  243. DEF UNIVERSE_SCRIPT Script {
  244.   url "universe.class"
  245.  
  246.   field SFNode camera USE CAMERA
  247.  
  248.   field SFNode self USE SUN_TRANS
  249.  
  250.   field SFNode mercury_trans USE MERCURY_TRANS
  251.   field SFNode venus_trans USE VENUS_TRANS
  252.   field SFNode earth_trans USE EARTH_TRANS
  253.   field SFNode mars_trans USE MARS_TRANS
  254.   field SFNode jupiter_trans USE JUPITER_TRANS
  255.   field SFNode saturn_trans USE SATURN_TRANS
  256.   field SFNode uranus_trans USE URANUS_TRANS
  257.   field SFNode neptune_trans USE NEPTUNE_TRANS
  258.   field SFNode pluto_trans USE PLUTO_TRANS
  259.  
  260.   field SFNode mercury_rot USE MERCURY_ROT
  261.   field SFNode venus_rot USE VENUS_ROT
  262.   field SFNode earth_rot USE EARTH_ROT
  263.   field SFNode mars_rot USE MARS_ROT
  264.   field SFNode jupiter_rot USE JUPITER_ROT
  265.   field SFNode saturn_rot USE SATURN_ROT
  266.   field SFNode uranus_rot USE URANUS_ROT
  267.   field SFNode neptune_rot USE NEPTUNE_ROT
  268.   field SFNode pluto_rot USE PLUTO_ROT
  269.   
  270.   field SFNode comet_trans USE COMET_TRANS
  271.  
  272.   eventIn SFTime rotateall
  273.   eventIn SFString rpc_request_anomalies
  274.   eventIn SFString rpc_create_planets
  275.   eventIn SFBool cometclicked
  276. }
  277.  
  278. DEF ROTATE_TIMER TimeSensor {
  279.   loop TRUE
  280.   enabled TRUE 
  281.   cycleInterval 0.1
  282.   stopTime -1
  283. }
  284.  
  285. ROUTE ROTATE_TIMER.cycleTime TO UNIVERSE_SCRIPT.rotateall
  286.  
  287. ROUTE COMET_CLICK.isActive TO UNIVERSE_SCRIPT.cometclicked
  288.  
  289. # SOUND LODs CENTERED AT SUN
  290. LOD {
  291.    level [
  292.       DEF MERCURYSOUND  Sound  {
  293.           intensity 1
  294.           minBack 1000
  295.           minFront 1000
  296.           source DEF MERCURYCLIP AudioClip {
  297.              loop TRUE
  298.              stopTime -1
  299.              startTime 0
  300.              url ["music3/mercury3.wav"]
  301.           }
  302.       }
  303.       DEF VENUSSOUND  Sound  {
  304.           intensity 1
  305.           minBack 1000 
  306.           minFront 1000 
  307.           source DEF VENUSCLIP AudioClip {
  308.              loop TRUE
  309.              stopTime -1
  310.              startTime 0
  311.              url ["music3/venus3.wav"]
  312.           }
  313.       }
  314.       DEF MAINSOUND Sound {
  315.           intensity 1
  316.           minBack 1000 
  317.           minFront 1000 
  318.           source DEF MAINCLIP AudioClip {
  319.             loop TRUE
  320.              stopTime -1
  321.              startTime 0
  322.              url ["music3/track-83.wav"]
  323.           }
  324.       }
  325.       DEF MARSSOUND  Sound  {
  326.           intensity 1
  327.           minBack 1000  
  328.           minFront 1000 
  329.           source DEF MARSCLIP AudioClip {
  330.             loop TRUE
  331.              stopTime -1
  332.              startTime 0
  333.              url ["music3/mars3.wav"]
  334.           }
  335.       }
  336.       DEF JUPITERSOUND  Sound  {
  337.           intensity 1
  338.           minBack 1000
  339.           minFront 1000
  340.           source DEF JUPITERCLIP AudioClip {
  341.              loop TRUE
  342.              stopTime -1
  343.              startTime 0
  344.              url ["music3/jupiter3.wav"]
  345.        }
  346.       }
  347.       DEF SATURNSOUND  Sound  {
  348.           intensity 1
  349.           minBack 1000
  350.           minFront 1000 
  351.           source DEF SATURNCLIP AudioClip {
  352.              loop TRUE
  353.              stopTime -1
  354.              startTime 0
  355.              url ["music3/saturn3.wav"]
  356.           }
  357.       }
  358.       DEF URANUSSOUND  Sound  {
  359.           intensity 1
  360.           minBack 1000 
  361.           minFront 1000 
  362.          source DEF URANUSCLIP AudioClip {
  363.              loop TRUE
  364.              stopTime -1
  365.              startTime 0
  366.              url ["music3/uranus3.wav"]
  367.           }
  368.       }
  369.       DEF NEPTUNESOUND  Sound  {
  370.           intensity 1
  371.           minBack 1000
  372.           minFront 1000
  373.           source DEF NEPTUNECLIP AudioClip {
  374.              loop TRUE
  375.              stopTime -1
  376.              startTime 0
  377.              url ["music3/neptune3.wav"]
  378.           }
  379.       }
  380.       DEF PLUTOSOUND  Sound  {
  381.           intensity 1
  382.           minBack 10000 
  383.           minFront 10000 
  384.           source DEF PLUTOCLIP AudioClip {
  385.              loop TRUE
  386.              stopTime -1
  387.              startTime 0
  388.              url ["music3/neptune3.wav"]
  389.           }
  390.       }
  391.    ]
  392.    range [ 22 45 59 90 290 532 1062 1670 ]
  393. }
  394.  
  395. #SHARED NODE TO SYNCHRONIZE ORBITS
  396. Sony_BindSharedNode {
  397.     field SFNode transformNode USE SUN_TRANS
  398.     field SFNode scriptNode USE UNIVERSE_SCRIPT
  399.